﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Atlandiz.Data;

namespace Atlandiz.EnvanterVeZimmetYonetimi
{
    public partial class ListeServisBakim : DevExpress.XtraEditors.XtraForm
    {
        MsSqlAccessLayer SQL = new MsSqlAccessLayer(Army.SQL().ConnStr);
        public int Urun_Id = 0;
        public int UrunTipi = 0;

        public ListeServisBakim()
        {
            InitializeComponent();
        }





        private void ListeServisBakim_Load(object sender, EventArgs e)
        {
            CihazBilgiOku();
            ServisBakimListele();
        }
        public void CihazBilgiOku()
        {
            String Sorgu = "SELECT TOP 1 \n" +
                "dbo.Cihaz.cID, \n" +
                "dbo.CihazTur.ChzTur, \n" +
                "dbo.CihazMarka.ChzMarka, \n" +
                "dbo.CihazModel.ChzModel, \n" +
                "dbo.Cihaz.SeriNoIMEI \n" +
                "FROM dbo.Cihaz INNER JOIN \n" +
                "dbo.CihazTur ON dbo.Cihaz.ctID = dbo.CihazTur.ctID INNER JOIN \n" +
                "dbo.CihazMarka ON dbo.Cihaz.cmID = dbo.CihazMarka.cmID INNER JOIN \n" +
                "dbo.CihazModel ON dbo.Cihaz.cmdID = dbo.CihazModel.cmdID \n" +
                "WHERE (dbo.Cihaz.cID = " + Urun_Id + ")";

            DataTable dt = SQL.GetDataTable(Sorgu);

            if (dt.Rows.Count > 0)
            {
                this.Text += " ( " + dt.Rows[0][1].ToString() + " - " + dt.Rows[0][2].ToString() + " - " + dt.Rows[0][3].ToString() + " - SN:" + dt.Rows[0][4].ToString() + " )";
            }

        }
        public void ServisBakimListele()
        {
            String Sorgu = "SELECT \n" +
                "dbo.ServisFormlari.id, \n" +
                "(CASE WHEN dbo.ServisFormlari.EvrakCinsi = 1 THEN 'KABUL FORMU' ELSE 'SERVİS SEVK FORMU' END)Evrak, \n" +
                "dbo.Tedarikci.tFirmaUnvan, \n" +
                "dbo.ServisFormlari.aciklama, \n" +
                "FORMAT(dbo.ServisFormlari.dto_evrak,'dd.MM.yyyy')EvrakTarihi, \n" +
                "dbo.CihazTur.ChzTur, \n" +
                "dbo.CihazMarka.ChzMarka, \n" +
                "dbo.CihazModel.ChzModel, \n" +
                "dbo.Cihaz.SeriNoIMEI, \n" +
                "dbo.ServisFormlari.EvrakCinsi \n" +
                "FROM dbo.ServisFormlari LEFT OUTER JOIN \n" +
                "dbo.Tedarikci ON dbo.ServisFormlari.id_tedarikci = dbo.Tedarikci.tID LEFT OUTER JOIN \n" +
                "dbo.CihazTur INNER JOIN \n" +
                "dbo.Cihaz ON dbo.CihazTur.ctID = dbo.Cihaz.ctID INNER JOIN \n" +
                "dbo.CihazMarka ON dbo.Cihaz.cmID = dbo.CihazMarka.cmID INNER JOIN \n" +
                "dbo.CihazModel ON dbo.Cihaz.cmdID = dbo.CihazModel.cmdID ON dbo.ServisFormlari.id_cihaz = dbo.Cihaz.cID \n" +
                "WHERE ServisFormlari.id_cihaz=" + Urun_Id + " AND (dbo.ServisFormlari.isDeleted = 0)";

            DataTable dt = Army.SQL().GetDataTable(Sorgu);

            _listviewServisler.Items.Clear();

            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());
                ls.SubItems.Add(item[2].ToString());
                ls.SubItems.Add(item[3].ToString());
                ls.SubItems.Add(item[4].ToString());
                ls.SubItems.Add(item["EvrakCinsi"].ToString());
                _listviewServisler.Items.Add(ls);
            }

        }

        private void _btnKapat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void _btnListeGuncelle_Click(object sender, EventArgs e)
        {
            ServisBakimListele();
        }

        private void _btnServisdenAl_Click(object sender, EventArgs e)
        {
            FormServis ServisFormu = new FormServis();
            ServisFormu.Text = "Servis Dönüş Formu";
            ServisFormu.EvrakCinsi = 1;
            ServisFormu.Urun_Id = Urun_Id;
            ServisFormu.KayId = 0;
            ServisFormu.ShowDialog();

            ServisBakimListele();

        }

        private void _btnServiseGonder_Click(object sender, EventArgs e)
        {
            FormServis ServisFormu = new FormServis();
            ServisFormu.Text = "Servis Çıkış Formu";
            ServisFormu.EvrakCinsi = -1;
            ServisFormu.Urun_Id = Urun_Id;
            ServisFormu.KayId = 0;
            ServisFormu.ShowDialog();

            ServisBakimListele();
        }

        private void düzenleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EvrakDuzenle();
        }

        public void EvrakDuzenle()
        {
            FormServis ServisFormu = new FormServis();
            ServisFormu.Text = Convert.ToInt32(_listviewServisler.SelectedItems[0].SubItems[5].Text.ToString()) == 1 ? "Kabul Formu" : "Servis Sevk Formu";
            ServisFormu.EvrakCinsi = Convert.ToInt32(_listviewServisler.SelectedItems[0].SubItems[5].Text.ToString());
            ServisFormu.Urun_Id = Urun_Id;
            ServisFormu.KayId = Convert.ToInt32(_listviewServisler.SelectedItems[0].SubItems[0].Text.ToString());
            ServisFormu.ShowDialog();

            ServisBakimListele();

        }

        public void EvrakSil()
        {
            Army.EventConfirm = false;
            if (_listviewServisler.SelectedItems.Count > 0)
            {
                Army.EventMessage = "Seçilen Form veritabanından silinecek\nEmin misiniz?";
                PopupAreYouSure Sor = new PopupAreYouSure();
                Sor.ShowDialog();

                if (Army.EventConfirm)
                {
                    Army.SQL().cmd("Update ServisFormlari set isDeleted=1 where id=" + Convert.ToInt32(_listviewServisler.SelectedItems[0].SubItems[0].Text.ToString()));
                    ServisBakimListele();
                }
            }

        }

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EvrakSil();
        }
    }
}